SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROC [dbo].[SP_TXMVTO_CNTB_Q13]            
/*-------------------------------------------------------------------*/            
/*----- Empresa           : OFISIS S.A.                          ----*/            
/*----- Cliente           : OFISIS S.A.                          ----*/            
/*----- Sistema           : Contabilidad                         ----*/            
/*----- Modulo            : Empresa                              ----*/            
/*----- Programa          : Reporte Libro Mayor General          ----*/            
/*----- Nombre            : SP_TXMVTO_CNTB_Q13                   ----*/            
/*----- Script            : TXMVTO_CNTB                          ----*/            
/*----- Desarrollado por  : Israel Estrada Polanco               ----*/            
/*----- Fecha             : 11/10/1997                           ----*/            
/*----- Base de Datos     : MS SQL Server                        ----*/            
/*----- Version BD        : 2000                                 ----*/            
/*-------------------------------------------------------------------*/            
/*-------------------------------------------------------------------*/          
/*----- Modificado 1      : Percy Garc?a              ----*/          
/*----- Fecha             : 01/12/2003          ----*/          
/*----- Detalle           : Se aumento join con la empresa en el cursor (tmplan_empr) ----*/          
/*-------------------------------------------------------------------*/          
/*-------------------------------------------------------------------*/          
/*----- Modificado 2      : GEE                       ----*/          
/*----- Fecha             : 20/10/2004           ----*/          
/*----- Detalle           : Reduccion codigo en programa/filtros ----*/          
/*-------------------------------------------------------------------*/          
/*-------------------------------------------------------------------*/          
/*----- Modificado 3      : LMGP                                 ----*/          
/*----- Fecha             : 11/11/2004                           ----*/          
/*----- Detalle           : Migracion de Reporte de Viru         ----*/          
/*-------------------------------------------------------------------*/          
/*-------------------------------------------------------------------*/          
/*----- Modificado 4      : PDGV                                 ----*/          
/*----- Fecha             : 17/05/2006                           ----*/          
/*----- Detalle           : EL ORDER BY FINAL SE AUMENTO DOC, FECHAASTO,NU_ASTO ----*/          
/*-------------------------------------------------------------------*/          
/*-------------------------------------------------------------------*/            
/*----- Drop proc SP_TXMVTO_CNTB_Q13                             ----*/            
/*----- Grant Execute on SP_TXMVTO_CNTB_Q13 to PUBLIC            ----*/            
/*----- SP_TXMVTO_CNTB_Q13                                       ----*/            
/*-------------------------------------------------------------------*/            
/*Exec SP_TXMVTO_CNTB_Q13 '01', 1, 2002, 1, 1, 'DOL', '', '', '', '', '', '', '', 5, 'CUD', 'PGARCIA', ''*/            
            
@ISCO_EMPR                TD_VC_002,            
@INNU_CNTB_EMPR           TD_IN_001,            
@INNU_ANNO                TD_IN_004_ANNO,            
@INNU_MESE_INIC           TD_IN_002_MESE,            
@INNU_MESE_FINA           TD_IN_002_MESE,            
@ISCO_MONE                TD_VC_003,            
@ISCO_UNID_CNTB           TD_VC_003,            
@ISCO_OPRC_CNTB           TD_VC_003,            
@ISCO_CNTA_EMP1           TD_VC_020_CNTA,            
@ISCO_CNTA_EMP2           TD_VC_020_CNTA,            
@ISTI_AUXI_EMPR           TD_VC_001,            
@ISCO_AUXI_EMP1           TD_VC_020,            
@ISCO_AUXI_EMP2          TD_VC_020,            
@INNV_INFO_CNTA           TD_IN_001,            
@ISTI_REPO                TD_VC_003,            
@ISNO_USUA                TD_VC_050,            
@ISCA_WHER_MOVI           Varchar(2000),        
@ISCA_WHER_SALD           Varchar(2000),        
@ISIN_UNID    TD_VC_001      -- U = Unidad, G = Todas las Unidades        
        
As  
/*---------------------------------------            
   Creando tabla temporal para el reporte             
  ---------------------------------------*/                
Create Table #TWMVTO_CNTB_Q13_1             
       (NU_MESE_QUIE    int NULL,            
        CO_CNTA_EMPR   VarChar(20) NULL,            
        DE_CNTA_EMPR    VarChar(50) NULL,            
        TO_CARG         Numeric(16,4)    NULL,         
        TO_ABON         Numeric(16,4)    NULL,            
        NU_MESE         int NULL,            
        FE_ASTO_CNTB    Datetime NULL,            
        NU_SECU         int NULL,            
        CN_CNTB_EMP1    VarChar(20) NULL,            
        TI_AUXI_EMPR    Char(01) NULL,            
        CO_AUXI_EMPR    Varchar(20) NULL,            
        CO_UNID_CNTB    Char(03) NULL,        
        CO_OPRC_CNTB    Char(03) NULL,             
        NU_ASTO         CHAR(10) NULL,            
        TI_DOCU         Char(03) NULL,            
        NU_DOCU Char(20) NULL,            
        FE_DOCU         Datetime NULL,                   
        IM_MVTO_ORIG    Numeric(16,4) NULL,            
        DE_GLOS         VarChar(100) NULL,            
        IM_DEBE         Numeric(16,4) NULL,            
        IM_HABE         Numeric(16,4) NULL,             
        CO_TABL_ORIG    INT NULL,              
        CO_CLAV_TAOR    VARCHAR(100) NULL,            
        CO_ORDE_SERV    char(20) NULL )            
            
Declare             
/* Variables a usar en el proceso */            
        @VSTI_AUXI      TD_VC_010,            
        @CSCO_CNTA      TD_VC_020_CNTA,            
        @CSNO_CNTA      TD_VC_050,            
        @CNIM_CARG      TD_NU_016_004,            
        @CNIM_ABON      TD_NU_016_004,             
        @VNNU_MESE      TD_IN_001,            
        @VNNU_SECU      TD_IN_002,            
        @VSCO_CNTA      TD_VC_020,            
        @VSCO_UNID      TD_VC_003,            
        @VSCO_OPRC      TD_VC_003,            
        @VSNU_ASTO      TD_VC_010,            
        @VSTI_DOCU      TD_VC_003,            
        @VSCO_MONE_CONT TD_VC_003,            
        @VSNU_DOCU      TD_VC_020,             
        @VDFE_DOCU      TD_DT_001,            
        @VSDE_GLOS      TD_VC_100,            
        @VNIM_DEBE      TD_NU_016_004,            
        @VNIM_HABE      TD_NU_016_004,            
        @VSDE_CMD1      Char(255),            
        @VSDE_CMD2      Char(255),            
        @VNIM_SALD_CARG TD_NU_016_004,                    
        @VNIM_SALD_ABON TD_NU_016_004,            
        @VNIM_CARG_INIC TD_NU_016_004,            
        @VNIM_ABON_INIC TD_NU_016_004,            
        @VNTO_CARG_GENE TD_NU_016_004,            
        @VNTO_ABON_GENE TD_NU_016_004,            
        @VSNU_MESE      Varchar(2),            
        @VSNU_ANNO      Varchar(4),            
        @VSNV_INFO_CNTA Varchar(2),            
        @VSNU_CNTB_EMPR Varchar(2),            
        @VSIM_CARG      Varchar(20),            
        @VSIM_ABON      Varchar(20),        
        @VSCA_UNID_MOVI TD_VC_255,         
        @VSCA_UNID_SALD TD_VC_255,        
        @VSCA_CNTA_MOVI TD_VC_255,         
        @VSCA_CNTA_SALD TD_VC_255,        
        @VSCA_MONE_MOVI TD_VC_255,         
        @VSCA_MONE_SALD TD_VC_255,        
        @VSCA_MONE_REPO TD_VC_255,        
        @VSST_FILT Varchar(1)         
        
        
Select @VSST_FILT = 'N'        
If DataLength(Rtrim(Ltrim(@ISCA_WHER_SALD))) > 0        
  Select @VSST_FILT = 'S'        
        
/*----------- FILTRO POR UNIDAD -------------*/        
Select @VSCA_UNID_MOVI = '' Select @VSCA_UNID_SALD = ''        
        
If @ISIN_UNID = 'U'        
 Begin        
  Select @VSCA_UNID_MOVI = ' And TXMVTO_CNTB.CO_UNID_CNTB = "' + @ISCO_UNID_CNTB + '" '        
  Select @VSCA_UNID_SALD = ' And TASALD_EMPR.CO_UNID_CNTB = "' + @ISCO_UNID_CNTB + '" '        
 End        
        
/*----------- R E P O R T E S   D E   C U E N T A S ------------*/        
Select @ISCO_CNTA_EMP1 = IsNull(@ISCO_CNTA_EMP1, '')        
Select @ISCO_CNTA_EMP2 = IsNull(@ISCO_CNTA_EMP2, '')        
        
/*----------- FILTRO POR RANGO CUENTAS -------------*/        
Select @VSCA_CNTA_MOVI = '' Select @VSCA_CNTA_SALD = ''        
If @ISCO_CNTA_EMP1 != '' And @ISCO_CNTA_EMP2 != ''        
Begin        
 Select @VSCA_CNTA_MOVI = ' And TMPLAN_EMPR.CO_CNTA_EMPR >= "' + @ISCO_CNTA_EMP1  + '" And TMPLAN_EMPR.CO_CNTA_EMPR <= "' + @ISCO_CNTA_EMP2  + '" '       Select @VSCA_CNTA_SALD = ' And TASALD_EMPR.CO_CNTA_EMPR >= "' + @ISCO_CNTA_EMP1 + '"   
And TASALD_EMPR.CO_CNTA_EMPR <= "' + @ISCO_CNTA_EMP2 + '" '         
End        
        
/*----------- FILTRO POR MONEDA -------------*/        
        
Select @VSCO_MONE_CONT = CO_MONE        
From TTCNTB_EMPR         
Where CO_EMPR = @ISCO_EMPR       
And NU_CNTB_EMPR = @INNU_CNTB_EMPR         
        
-- Si la moneda de reporte es igual a moneda de la contabilidad        
If @ISCO_MONE = @VSCO_MONE_CONT        
Begin        
   Select @VSCA_MONE_MOVI =         
        ' (ASCII(TXMVTO_CNTB.TI_OPER)/67)*Round(IsNull(TXMVTO_CNTB.IM_MVTO_CNTB, 0), 2),        
          (65/ASCII(TXMVTO_CNTB.TI_OPER))*Round(IsNull(TXMVTO_CNTB.IM_MVTO_CNTB, 0), 2) '        
   Select @VSCA_MONE_SALD =         
        ' Isnull(SUM(ISNULL(TASALD_EMPR.IM_CARG_CNTB,0)), 0) AS CARGO,        
          Isnull(SUM(ISNULL(TASALD_EMPR.IM_ABON_CNTB,0)), 0) AS ABONO '        
   Select @VSCA_MONE_REPO = ' '        
End        
-- Si la moneda de reporte es Diferente a moneda de la contabilidad        
Else If @ISCO_MONE != @VSCO_MONE_CONT        
Begin        
   Select @VSCA_MONE_MOVI =         
        ' (ASCII(TXMVTO_CNTB.TI_OPER)/67)*Round(IsNull(TXMVTO_CNTB.IM_MVTO_ORIG, 0), 2),        
          (65/ASCII(TXMVTO_CNTB.TI_OPER))*Round(IsNull(TXMVTO_CNTB.IM_MVTO_ORIG, 0), 2) '        
   Select @VSCA_MONE_SALD =         
        ' Isnull(SUM(ISNULL(TASALD_EMPR.IM_CARG_ORIG,0)), 0) AS CARGO,        
          Isnull(SUM(ISNULL(TASALD_EMPR.IM_ABON_ORIG,0)), 0) AS ABONO '        
   Select @VSCA_MONE_REPO = '  And   TMPLAN_EMPR.CO_MONE = "' + @ISCO_MONE  + '" '        
End        
        
        
Select @VNNU_MESE = @INNU_MESE_INIC        
Select @VSNU_ANNO = Convert(Varchar, @INNU_ANNO)            
Select @VSNU_CNTB_EMPR = Convert(Varchar, @INNU_CNTB_EMPR)            
Select @VSNV_INFO_CNTA = Convert(Varchar, @INNV_INFO_CNTA)        
        
While @VNNU_MESE <= @INNU_MESE_FINA        
Begin            
  Select @VSNU_MESE = Convert(Varchar, @VNNU_MESE)        
        
  EXEC('Insert Into #TWMVTO_CNTB_Q13_1(        
  NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TO_CARG,      TO_ABON,      NU_MESE,      FE_ASTO_CNTB,  NU_SECU,         
  CN_CNTB_EMP1, TI_AUXI_EMPR, CO_AUXI_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,      TI_DOCU,       NU_DOCU,         
  FE_DOCU,      IM_MVTO_ORIG, DE_GLOS,      IM_DEBE,      IM_HABE,      CO_TABL_ORIG, CO_CLAV_TAOR,  CO_ORDE_SERV)        
        
  Select ' +@VSNU_MESE+ ',  TMPLAN_EMPR.CO_CNTA_EMPR, TMPLAN_EMPR.DE_CNTA_EMPR, T3.CARGO, T3.ABONO,        
  TXMVTO_CNTB.NU_MESE,      TXMVTO_CNTB.FE_ASTO_CNTB, TXMVTO_CNTB.NU_SECU,      TXMVTO_CNTB.CO_CNTA_EMPR,         
  TXMVTO_CNTB.TI_AUXI_EMPR, TXMVTO_CNTB.CO_AUXI_EMPR, TXMVTO_CNTB.CO_UNID_CNTB, TXMVTO_CNTB.CO_OPRC_CNTB,         
  TXMVTO_CNTB.NU_ASTO,      TXMVTO_CNTB.TI_DOCU,      TXMVTO_CNTB.NU_DOCU,      TXMVTO_CNTB.FE_DOCU,       
  Round(IsNull(TXMVTO_CNTB.IM_MVTO_ORIG, 0), 2),      TXMVTO_CNTB.DE_GLOS,         
  ' + @VSCA_MONE_MOVI + ',        
  TXMVTO_CNTB.CO_TABL_ORIG, TXMVTO_CNTB.CO_CLAV_TAOR, TXMVTO_CNTB.CO_ORDE_SERV        
  From TMPLAN_EMPR        
    Left Outer Join (Select TASALD_EMPR.CO_CNTA_EMPR AS CUENTA, ' + @VSCA_MONE_SALD + '        
      From  TASALD_EMPR  
 Left Outer Join TMPLAN_EMPR        
 On  TMPLAN_EMPR.CO_EMPR = TASALD_EMPR.CO_EMPR        
 And TMPLAN_EMPR.NU_ANNO = 9999        
 And TMPLAN_EMPR.CO_CNTA_EMPR = TASALD_EMPR.CO_CNTA_EMPR ' + @VSCA_MONE_REPO + '        
      Where TASALD_EMPR.CO_EMPR = "' + @ISCO_EMPR + '" and            
      TASALD_EMPR.NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + ' and            
      TASALD_EMPR.NU_ANNO = ' + @VSNU_ANNO + ' and            
      TASALD_EMPR.NU_MESE < ' + @VSNU_MESE + @VSCA_UNID_SALD + ' And         
      DATALENGTH(RTRIM(TASALD_EMPR.CO_CNTA_EMPR)) = ' + @VSNV_INFO_CNTA + @VSCA_CNTA_SALD + '         
      And (("' + @VSST_FILT + '" = "N"         
      And TASALD_EMPR.TI_AUXI_EMPR IS NULL         
      And TASALD_EMPR.CO_AUXI_EMPR IS NULL         
      And TASALD_EMPR.CO_ORDE_SERV IS NULL) Or ("' + @VSST_FILT + '" = "S" ' + @ISCA_WHER_SALD + '))        
      Group By TASALD_EMPR.CO_CNTA_EMPR) T3  
    On TMPLAN_EMPR.CO_CNTA_EMPR = T3.CUENTA  
    Left Outer Join TXMVTO_CNTB  
    On TXMVTO_CNTB.CO_EMPR = "' + @ISCO_EMPR + '"          
    And  TXMVTO_CNTB.NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '          
    And  TXMVTO_CNTB.NU_ANNO = ' + @VSNU_ANNO + '          
    And  TXMVTO_CNTB.NU_MESE = ' + @VSNU_MESE +  @VSCA_UNID_MOVI + @VSCA_CNTA_MOVI + '        
    And  TXMVTO_CNTB.SI_MVTO_CNTB = "APR"           
    And  TMPLAN_EMPR.CO_EMPR = TXMVTO_CNTB.CO_EMPR  
    And  TMPLAN_EMPR.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR ' + @ISCA_WHER_MOVI + '   
  Where TMPLAN_EMPR.CO_EMPR = "' + @ISCO_EMPR + '"  
  And   Datalength(Rtrim(TMPLAN_EMPR.CO_CNTA_EMPR)) = ' + @VSNV_INFO_CNTA +  @VSCA_MONE_REPO +'          
  And  TMPLAN_EMPR.NU_ANNO = 9999 '  )        
        
  Select @VNNU_MESE = @VNNU_MESE + 1        
End ---While        
        
/*--------------  D E T A L L A D O --------------*/            
If @ISTI_REPO = 'CUD' /*---- CUENTA ordenado por Unidad -----*/            
 Begin            
  Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TO_CARG, TO_ABON, NU_MESE,             
   convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CN_CNTB_EMP1,TI_AUXI_EMPR,             
   CO_AUXI_EMPR, CO_UNID_CNTB,CO_OPRC_CNTB, NU_ASTO, TI_DOCU, NU_DOCU, convert(varchar(10),FE_DOCU,103),            
   IM_MVTO_ORIG, DE_GLOS, IM_DEBE, IM_HABE,            
   CO_TABL_ORIG , CO_CLAV_TAOR , '', CO_ORDE_SERV          
From #TWMVTO_CNTB_Q13_1   
  Where TO_CARG > 0  or TO_ABON > 0 or IM_DEBE > 0 or IM_HABE > 0          
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, TI_AUXI_EMPR, CO_AUXI_EMPR,   
  TI_DOCU,  NU_DOCU, FE_ASTO_CNTB, NU_ASTO  
              
 End              
If @ISTI_REPO  = 'COD' /*---- CUENTA ordenado por Operacion -----*/            
 Begin            
   Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TO_CARG, TO_ABON, NU_MESE,             
   convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CN_CNTB_EMP1,TI_AUXI_EMPR, CO_AUXI_EMPR,             
   CO_UNID_CNTB,CO_OPRC_CNTB, NU_ASTO, TI_DOCU,                
   NU_DOCU, convert(varchar(10),FE_DOCU,103),IM_MVTO_ORIG, DE_GLOS, IM_DEBE, IM_HABE ,            
   CO_TABL_ORIG , CO_CLAV_TAOR , '', CO_ORDE_SERV               
   From #TWMVTO_CNTB_Q13_1            
  Where TO_CARG > 0  or TO_ABON > 0 or IM_DEBE > 0 or IM_HABE > 0          
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, CO_OPRC_CNTB, CO_UNID_CNTB, TI_AUXI_EMPR, CO_AUXI_EMPR,  
  TI_DOCU, NU_DOCU, FE_ASTO_CNTB, NU_ASTO            
 End             
If @ISTI_REPO = 'CVD' /*---- CUENTA ordenado por Voucher -----*/            
 Begin            
  Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TO_CARG, TO_ABON, NU_MESE,             
 convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CN_CNTB_EMP1,TI_AUXI_EMPR, CO_AUXI_EMPR,             
   CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO, TI_DOCU, NU_DOCU, convert(varchar(10),FE_DOCU,103),             
   IM_MVTO_ORIG,DE_GLOS, IM_DEBE, IM_HABE, CO_TABL_ORIG, CO_CLAV_TAOR, '',CO_ORDE_SERV               
   From #TWMVTO_CNTB_Q13_1            
  Where TO_CARG > 0  or TO_ABON > 0 or IM_DEBE > 0 or IM_HABE > 0          
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, NU_ASTO, CO_UNID_CNTB, CO_OPRC_CNTB, TI_AUXI_EMPR, CO_AUXI_EMPR,  
  TI_DOCU, NU_DOCU, FE_ASTO_CNTB  
 End             
If @ISTI_REPO = 'CFD' /*---- CUENTA ordenado por Fecha -----*/            
 Begin            
  Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, TO_CARG, TO_ABON, NU_MESE,             
  convert(varchar(10),FE_ASTO_CNTB,103), NU_SECU, CN_CNTB_EMP1,TI_AUXI_EMPR, CO_AUXI_EMPR,             
  CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO, TI_DOCU, NU_DOCU, convert(varchar(10),FE_DOCU,103),            
  IM_MVTO_ORIG, DE_GLOS, IM_DEBE, IM_HABE,CO_TABL_ORIG , CO_CLAV_TAOR , '', CO_ORDE_SERV               
  From #TWMVTO_CNTB_Q13_1            
  Where TO_CARG > 0  or TO_ABON > 0 or IM_DEBE > 0 or IM_HABE > 0          
  Order By NU_MESE_QUIE, CO_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, TI_AUXI_EMPR, CO_AUXI_EMPR,  
  TI_DOCU, NU_DOCU,NU_ASTO                      
 End             
/*--------------  R E S U M E N  --------------*/            
If @ISTI_REPO = 'CUR' /*---- CUENTA ordenado por Unidad -----*/            
 Begin            
  Select NU_MESE_QUIE, CO_CNTA_EMPR, DE_CNTA_EMPR, MAX(TO_CARG), MAX(TO_ABON),            
         CO_CNTA_EMPR, DE_CNTA_EMPR, Isnull(SUM(Isnull(IM_DEBE, 0)), 0), Isnull(SUM(Isnull(IM_HABE, 0)), 0)                
   From #TWMVTO_CNTB_Q13_1 T1  
   Where TO_CARG > 0  or TO_ABON > 0 or IM_DEBE > 0 or IM_HABE > 0          
   Group By NU_MESE_QUIE, T1.CO_CNTA_EMPR, DE_CNTA_EMPR            
   Order By NU_MESE_QUIE, 2           
 End             
If @ISTI_REPO = 'COR' /*---- CUENTA ordenado por Operacion -----*/            
 Begin            
  Select NU_MESE_QUIE, CO_CNTA_EMPR,DE_CNTA_EMPR, MAX(TO_CARG), MAX(TO_ABON), CO_CNTA_EMPR,            
       DE_CNTA_EMPR, Isnull(SUM(Isnull(IM_DEBE, 0)), 0), Isnull(SUM(Isnull(IM_HABE, 0)), 0)                
  From #TWMVTO_CNTB_Q13_1 T1  
  Where TO_CARG > 0  or TO_ABON > 0 or IM_DEBE > 0 or IM_HABE > 0          
  Group By NU_MESE_QUIE, T1.CO_CNTA_EMPR, DE_CNTA_EMPR            
  Order By NU_MESE_QUIE, 2          
 End             
If @ISTI_REPO = 'CVR' /*---- CUENTA ordenado por Voucher -----*/            
   Begin            
     Select NU_MESE_QUIE, CO_CNTA_EMPR,DE_CNTA_EMPR, MAX(TO_CARG), MAX(TO_ABON),             
            CO_CNTA_EMPR,DE_CNTA_EMPR, Isnull(SUM(Isnull(IM_DEBE, 0)), 0), Isnull(SUM(Isnull(IM_HABE, 0)), 0)                
 From #TWMVTO_CNTB_Q13_1 T1  
  Where TO_CARG > 0  or TO_ABON > 0 or IM_DEBE > 0 or IM_HABE > 0          
  Group By NU_MESE_QUIE, T1.CO_CNTA_EMPR, DE_CNTA_EMPR            
  Order By NU_MESE_QUIE, 2         
   End             
If @ISTI_REPO = 'CFR' /*---- CUENTA ordenado por Fecha -----*/            
   Begin            
   Select NU_MESE_QUIE, CO_CNTA_EMPR,DE_CNTA_EMPR, MAX(TO_CARG), MAX(TO_ABON),             
            CO_CNTA_EMPR,DE_CNTA_EMPR, Isnull(SUM(Isnull(IM_DEBE, 0)), 0), Isnull(SUM(Isnull(IM_HABE, 0)), 0)                
    From #TWMVTO_CNTB_Q13_1 T1  
   Where TO_CARG > 0  or TO_ABON > 0 or IM_DEBE > 0 or IM_HABE > 0          
    Group By NU_MESE_QUIE, T1.CO_CNTA_EMPR, DE_CNTA_EMPR            
    Order By NU_MESE_QUIE, 2            
   End             
return          
        
/*--------------------------------------------- Fin ---------------------------------------------------------------*/  
  
  
  
  
  


GO
